#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

extern char** environ;
int global = 100;

int main(int argc, char* argv[], char* env[])
{
    // 得到所有环境变量方法一
    // main的第三个参数
    //for (int i = 0; env[i]; ++i)
    //{
    //    printf("%d->%s\n", i, env[i]);
    //}
    //
    //方法二， getenv();
    //char* ret = getenv("PATH");
    //if (ret == NULL)
    //{
    //    return 1;
    //}
    //printf("PATH: %s\n", ret);

//    for (int i = 0; environ[i]; ++i)
//    {
//        printf("%d->%s\n", i, environ[i]);
//    }

    // 程序地址空间不是指的内存
    pid_t id = fork();
    if (id == 0)
    {
        while (1)
        {
            printf("子进程：pid：%d, ppid: %d, global：%d, &global: %d\n", getpid(), getppid(), global, &global);
            ++global;
            sleep(1);
        }
    }
    else
    {
        while (1)
        {
            printf("父进程：pid：%d, ppid: %d, global：%d, &global: %d\n", getpid(), getppid(), global, &global);
            sleep(1);
        }
    }



    //if (argc != 2)
    //{
    //    printf("usage: %s [-a|-b|-c]\n", argv[0]);
    //    return 1;
    //}
    //
    //if (strcmp(argv[1], "-a") == 0)
    //{
    //    printf("这是功能1\n");
    //}
    //else if (strcmp(argv[1], "-b") == 0)
    //{
    //    printf("这是功能2\n");
    //}
    //else if (strcmp(argv[1], "-c") == 0)
    //{
    //    printf("这是功能3\n");
    //}
    //else
    //{
    //    printf("usage: %s [-a|-b|-c]\n", argv[0]);
    //}


    //for (int i = 0; argv[i]; ++i)
    //{
    //    printf("%s\n", argv[i]);
    //}

    return 0;
}
